Secure Coding Practices in Java: Challenges and Vulnerabilities
نویسندگان
چکیده
Java platform and third-party libraries provide functionalities to facilitate secure coding. However, misusing these functionalities can cost developers tremendous time and effort, or introduce security vulnerabilities in software. Prior research focused on the misuse of cryptography and SSL APIs, but did not explore the fundamental research question: what are the biggest challenges and vulnerabilities in secure coding practices? In this paper, we conducted a broader empirical study on StackOverflow posts to understand developers’ concerns on Java secure coding, their programming obstacles, and the potential vulnerabilities in their code. We observed that developers have shifted their effort to the usage of authentication and authorization features provided by Spring Security—a third-party framework designed to secure enterprise applications. The programming challenges are all related to APIs or libraries, including the complicated cross-language data handling of cryptography APIs, and the complex Java-based or XML-based approaches to configure Spring Security. More interestingly, we identified security vulnerabilities in the suggested code of accepted answers. The vulnerabilities included using insecure hash functions (e.g., MD5), breaking SSL/TLS security through bypassing certificate validation, and insecurely disabling the default protection against Cross Site Request Forgery attacks. Our findings reveal the insufficiency of secure coding assistance and documentation, as well as the gap between security theory and coding practices.
منابع مشابه
Supporting secure programming in web applications through interactive static analysis
Many security incidents are caused by software developers' failure to adhere to secure programming practices. Static analysis tools have been used to detect software vulnerabilities. However, their wide usage by developers is limited by the special training required to write rules customized to application-specific logic. Our approach is interactive static analysis, to integrate static analysis...
متن کاملSecure network coding for wireless mesh networks: Threats, challenges, and directions
In recent years, network coding has emerged as a new communication paradigm that can significantly improve the efficiency of network protocols by requiring intermediate nodes to mix packets before forwarding them. Recently, several real-world systems have been proposed to leverage network coding in wireless networks. Although the theoretical foundations of network coding are well understood, a ...
متن کاملIntegrating Security Testing into Quality Control
At a time when 82% of all application vulnerabilities are found in web applications 1 , CIOs are looking for traditional and non-traditional approaches to reduce the number of vulnerabilities present in their application assets. Traditional approaches can range from training developers in secure coding practices to hiring professional security testers. This paper focuses on a non-traditional ap...
متن کاملCourse Modules for Software Security
Each year the reported number of security vulnerabilities increases as does the sophistication of attacks to exploit these vulnerabilities. Most security vulnerabilities are the result of insecure coding practices. There is a critical need to increase the security education of computer science students, particularly in software security. We are designing course modules, to be used at the underg...
متن کاملNetwork Coding Security: Attacks and Countermeasures
By allowing intermediate nodes to perform non-trivial operations on packets, such as mixing data from multiple streams, network coding breaks with the ruling store and forward networking paradigm and opens a myriad of challenging security questions. Following a brief overview of emerging network coding protocols, we provide a taxonomy of their security vulnerabilities, which highlights the diff...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1709.09970 شماره
صفحات -
تاریخ انتشار 2017